package com.koc.robot.freetype;

public class Face extends Pointer
{
	Library library;
	
	public Face(long address, Library library)
	{
		super(address);
		this.library = library;
	}
	
	public int getFaceFlags()
	{
		return getFaceFlags(address);
	}
	
	private static native int getFaceFlags(long face);
	
	public int getStyleFlags()
	{
		return getStyleFlags(address);
	}
	
	private static native int getStyleFlags(long face);
	
	public int getNumGlyphs()
	{
		return getNumGlyphs(address);
	}
	
	private static native int getNumGlyphs(long face);
	
	public int getAscender()
	{
		return getAscender(address);
	}
	
	private static native int getAscender(long face);
	
	public int getDescender()
	{
		return getDescender(address);
	}
	
	private static native int getDescender(long face);
	
	public int getHeight()
	{
		return getHeight(address);
	}
	
	private static native int getHeight(long face);
	
	public int getMaxAdvanceWidth()
	{
		return getMaxAdvanceWidth(address);
	}
	
	private static native int getMaxAdvanceWidth(long face);
	
	public int getMaxAdvanceHeight()
	{
		return getMaxAdvanceHeight(address);
	}
	
	private static native int getMaxAdvanceHeight(long face);
	
	public int getUnderlinePosition()
	{
		return getUnderlinePosition(address);
	}
	
	private static native int getUnderlinePosition(long face);
	
	public int getUnderlineThickness()
	{
		return getUnderlineThickness(address);
	}
	
	private static native int getUnderlineThickness(long face);
	
	public GlyphSlot getGlyph()
	{
		return new GlyphSlot(getGlyph(address));
	}
	
	private static native long getGlyph(long face);
	
	public Size getSize()
	{
		return new Size(getSize(address));
	}
	
	private static native long getSize(long face);
}
